package Datastruct.Algorithm.sort;

import java.lang.reflect.Array;
import java.util.Arrays;

/**
 * 冒泡排序的思想是通过对待排序序列从前往后依次比较相邻元素值，
 * 若发现逆序则交换，使值较大的元素从前逐步移向后面，就想水中气泡。
 *
 * 第一轮可以找到最大的值
 * 第二轮可以找到第二大 的值。。。。。。。。
 */
public class BubblingSort {
    public static void main(String[] args) {

        int [] arrys={5,6,7,8,1,2,3,4};
        System.out.println(Arrays.toString(arrys));
        for(int i=0;i<arrys.length;i++) {
            for(int j=0;j< arrys.length-1-i;j++){
                if(arrys[j]>arrys[j+1]){
                    /**
                     * 异或运算一个数异或两次同一个数得到它本身
                     */
                    arrys[j]=arrys[j]^arrys[j+1];
                    arrys[j+1]=arrys[j]^arrys[j+1];
                    arrys[j]=arrys[j]^arrys[j+1];
                }
            }
        }
        System.out.println(Arrays.toString(arrys));
    }

}
